草庐IT

iOS Model 和 ViewController 之间的通信

全部标签

javascript - 这两种 JavaScript 模式之间有什么区别吗?

查看一些JavaScript库和其他人的代码我看到了两种常见模式,我不知道使用其中一种是否有区别或优势。模式看起来有点像这样:1.varapp=(function(){//Privatevars//Modulevarobj={prop:"",method:function(){}};returnobj;})();2.(function(){//Privatevars//Modulevarobj={prop:"",method:function(){}};window.app=obj;})();这些模式是否相同,或者其中一个比另一个有优势或不同用途?提前致谢。

javascript - 指令链接中的 $watch 表达式与 Controller 函数之间的区别?

我见过这两种方式;在指令Controller中创建scope.$watch与链接函数之间有什么区别? 最佳答案 两者之间没有真正的区别。事实上,$watch表达式可以从Controller和指令访问,无论它最初定义在哪里,因为它们共享相同的$scope。话虽如此,指令中定义的$watch与Controller中定义的目的完全不同。 关于javascript-指令链接中的$watch表达式与Controller函数之间的区别?,我们在StackOverflow上找到一个类似的问题:

Javascript 到闪存通信

我正在尝试从javascript调用Actionscript函数,但我在InternetExplorer中遇到问题。我在mootools1.2.1中使用Swiff.remote来调用actionscript函数,即:Swiff.remote(playSwf.toElement(),'sendResult',result,plays,name);这在FireFox、Safari和Opera中都可以正常工作,但我在InternetExplorer6和7中遇到“未指定”错误。我试过使用沼泽标准:window['flash'].sendResult(result,plays,name);没用。

javascript - Marionette - 应用程序和模块之间的关系

我们目前正在构建一个基于Marionette的应用程序。基本上,我们有一个Marionette应用程序,上面定义了多个区域。每个区域将作为不同模块显示其View的容器。我希望每个模块都能完全控制其容器中显示的内容,但我希望应用程序分配这些区域。为简单起见,假设每个模块只有一个简单的ItemView。我正在考虑使用模块View填充这些区域的2种方法。第一种方式说的是,当每个模块初始化时,它会创建它的View,它会调用应用程序在指定区域显示它的View,例如:varapp=newMarionette.Application();app.addRegions({regionA:"#regio

javascript - javascript函数之间的循环引用

如何在Javascript中定义一对相互调用的函数,以便JS-lint不会在定义之前提示“阶乘”被使用?functionfactorial1(n){returnfactorial(n);}functionfactorial(n){returnn===0?1:n*factorial1(n-1);}似乎没有满足JSlint的有效排序。(一个可以嵌入另一个,但这对于所有相互调用的函数集合来说将是一场噩梦)。确定这是由语言处理的吧?这只是JSlint中的一个错误吗?(这个问题肯定已经在某个地方得到了回答,但我找不到它!) 最佳答案 函数内部

javascript - 是否可以在 D3.js 中找到刻度之间的距离?

有没有办法找出x轴上刻度线之间的距离?我将序数刻度与rangeRoundBands一起使用,告诉我它没有刻度函数。varx=d3.scale.ordinal().rangePoints([_margin.left,cWidth]);x.domain(['Dec','Jan']);vartestTicks=x.ticks(2);它可以很好地生成轴(无法发布图像)但我无法弄清楚如何获得距离(编辑:添加x.domain) 最佳答案 vardata=[45,31,23],//whateveryourdataisgraphHeight=400

Javascript 继承——在构造函数中声明的对象在实例之间共享?

我在没有Prototype/jQuery的情况下用JavaScript进行面向对象的编程(我使用jQuery做其他事情)。到目前为止它一直运行良好,但我遇到了继承问题。基本上,当我在构造函数中声明对象时,它们在实例之间共享。下面是一些示例代码:A=function(){this.y=newArray();}A.prototype.doStuff=function(n){this.y.push(n);}B=function(){}B.prototype=newA();varb1=newB();varb2=newB();b1.doStuff(100);b2.doStuff(200);con

javascript - 为什么我需要加载 JavaScript 模块,所有这些加载器之间有什么区别?

问题1:为什么我需要在网页中异步加载我的JavaScript文件?我可以在服务器端看到它的基本原理,但是如果我知道我需要在客户端加载的所有文件,为什么我不应该将我的所有源文件连接成1个文件并在页面加载时加载它?首次初始页面加载是否如此重要,以至于future的操作可能会因检索每个JS文件的延迟而变慢?问题2:假设问题1的答案是我需要单独加载JS文件:AMD异步加载每个JS文件,CommonJS同步加载。服务器端加载需要CJS(如果我没记错的话,这就是Node.js的工作方式)。AMD似乎更适合客户。因此,在客户端使用CJS的唯一原因是与服务器共享代码。有没有什么办法可以让AMD和CJS

javascript - `export default x` 和 `export {x as default}` 之间有区别吗?

我了解到,对于ES6模块导出,在导出的内容和导入的内容之间会发生绑定(bind),因此当导出的变量更改时,导入的变量将显示该更改。但是,我还读到,在某些情况下,导入的变量仅携带对导出变量的绑定(bind)。我的具体问题是在以下两种情况下导出变量的绑定(bind)方式是否存在差异......//Scenario#1leta=5;exportdefaulta;//Scenario#2leta=5;export{aasdefault}; 最佳答案 它们在一般情况下并不相同,尽管它们在函数和类的情况下可以表现相同。leta=4;export

javascript - Array(n) 和 [...Array(n)] 之间的区别

为什么下面代码中的map()输出有差异?vary=[1,2,2,1];vart=y.map(ind=>[...Array(ind)].map((_,i)=>ind+""+i));//Thismakes[['10'],['20','21'],['20','21'],['10']]vart1=y.map(ind=>Array(ind).map((_,i)=>ind+""+i));//[[],[],[],[]] 最佳答案 这基本上是您应该避免使用Array构造函数来创建数组的原因。当将单个数字n作为参数传递时,Array构造函数将返回一个